package com.zmn.oms.dubbo.interfaces.wallquotation;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.oms.common.dio.wallquotation.WallQuotationDIO;
import com.zmn.oms.common.dio.wallquotation.WallQuotationDetailDIO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

/**
 * 墙面订单修改远程服务
 *
 * @author chengguang
 * @date 2022/05/24
 */
@Api(tags = "墙面报价修改接口")
@Valid
public interface  WallQuotationModifyRemoteService {


    /**
     * 描述: 确认报价接口
     *
     * @param wallQuotationDIO 用户确认报价dio
     * @return {@link ResponseDTO }<{@link Boolean }>
     * @author chengguang
     * @since 2022/05/31
     */
    @ApiOperation(value = "确认报价接口", response = ResponseDTO.class)
    ResponseDTO<Boolean> confirmWallQuotation(@Valid @ApiParam("用户确认报价dio") @NotNull(message = "wallQuotationDIO不能为空")
                                                      WallQuotationDIO wallQuotationDIO);

    /**
     * 描述: 保存报价信息
     *
     * @param wallQuotationDetailDIO 墙面订单价格信息
     * @return {@link ResponseDTO }<{@link Boolean }>
     * @author chengguang
     * @since 2022/05/25
     */
    @ApiOperation(value = "保存报价信息", response = ResponseDTO.class)
    ResponseDTO<Boolean> addWallQuotationDetail(@Valid @NotNull(message = "wallQuotationDetailDIO不能为空")
                                                @ApiParam("墙面订单价格信息")
                                                        WallQuotationDetailDIO wallQuotationDetailDIO);

//    /**
//     * 描述: 修改报价信息
//     *
//     * @param wallQuotationDetailDIO 墙面订单价格信息
//     * @return {@link ResponseDTO }<{@link Boolean }>
//     * @author chengguang
//     * @since 2022/05/25
//     */
//    @ApiOperation(value = "修改报价信息", response = ResponseDTO.class)
//    ResponseDTO<Boolean> modifyWallQuotationDetail(@NotNull(message = "wallQuotationDetailDIO不能为空")
//                                                   @ApiParam("墙面订单价格信息") WallQuotationDetailDIO wallQuotationDetailDIO) throws OmsBaseException;

//    /**
//     * 描述: 给用户发送报价单消息
//     *
//     * @param omsOperator oms操作入参
//     * @return {@link ResponseDTO }<{@link Boolean }>
//     * @author chengguang
//     * @since 2022/06/01
//     */
//    @ApiOperation(value = "给用户发送报价单消息", response = ResponseDTO.class)
//    ResponseDTO<Boolean> sendWallQuotationToUser(@Valid @ApiParam("oms操作入参") @NotNull(message = "omsOperator不能为空") OmsOperator omsOperator);
}
